Computer reversi game

ABSTRACT

Computer game devices which implement all or part of the rule of the reversi or transformed reversies, wherein wall(s) and/or pillar(s) are arranged even at places which are not end nor corner of game board, wherein there is rule that player can not acquire piece(s) in case of sandwiching the piece(s) with wall(s) vertically or horizontally and player can not acquire piece(s) in case of sandwiching the piece(s) with pillar(s) diagonally, wherein computer applies the above rule relating to wall(s) and/or pillar(s) during game progress, providing game which is not boring even if computer take the role of opponent player, without failing to making use of good natures of reversi.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to computer game devices and programs which may require strategies different from that of normal reversi.

2. Description of the Related Art

Normal reversi always requires same strategy, which may be boring in case that computers take the roles of opponent players.

SUMMARY OF THE INVENTION

Problem to be solved is to provide game which is not boring even if computer take the role of opponent player, without failing to making use of good natures of reversi (simplicity, turning tables due to small difference of piece arrangements, etc.).

The present invention provides computer game devices which implement all or part of the rule of the reversi or transformed reversies, characterized in

-   that wall object(s) and/or pillar object(s) (hereinafter we call     them just wall(s) and/or pillar(s)) are arranged even at places     which are not end nor corner of game board, -   that there is rule that player can not acquire piece(s) in case of     sandwiching the piece(s) with wall(s) vertically or horizontally     and/or player can not acquire piece(s) in case of sandwiching the     piece(s) with pillar(s) diagonally, -   and that computer applies the above rule relating to wall(s) and/or     pillar(s) during game progress.

According to the present invention, it is preferable that, in the mode of computer being opponent player, computer preferably acquires, among coordinates, those coordinates that have much number of directions in each of which the coordinate neighbors a wall or a pillar and, in each corresponding exact opposite direction, the coordinate is much far ahead open without walls and/or pillars (hereinafter we call it “widely-one-direction-open-coordinate(s)”).

Moreover, it is preferable that computer avoid, if possible, acquiring coordinates neighboring said widely-one-direction-open-coordinate(s).

Moreover, it is preferable that computer preferably acquire said widely-one-direction-open-coordinate(s) only during early stages of games.

According to the present invention, it is preferable that, in the mode of computer being opponent player, computer preferably acquires, among coordinates, those coordinates that have much number of directions in each of which the coordinate neighbors a wall or a pillar and ,in each corresponding exact opposite direction, the coordinate is much far ahead open toward much quantity of said widely-one-direction-open-coordinate(s) without walls and/or pillars (hereinafter we call it “widely-one-direction-open-coordinate-widely -holding-one-direction-open-coordinate”).

Moreover, it is preferable that computer avoid, if possible, acquiring coordinates neighboring said widely-one-direction-open-coordinate-widely-holding-one-direction-open-coordinate(s).

Moreover, it is preferable that computer preferably acquire said widely-one -direction-open-coordinate-widely-holding-one-direction-open-coordinate(s) only early stages of games.

According to the present invention, it is preferable that, in the mode of computer being opponent player, computer comprises cache means to adopt choices which think routine of computer decided in the past for current game status or which player who played advantageously in the past adopted.

Moreover, it is preferable that, in the mode of computer being opponent player, the quantity and/or the arrangement, at initial stages, of opponent pieces, player pieces, said wall(s) and/or said pillar(s) are adjusted so that the number of choice-orders corresponding to the demand of short think-time and/or the degree of previous reading (search level) become enough small compared to ability of CPU and/or memory.

Moreover, it is preferable that, in the mode of computer being opponent player, computer comprises highscore total means to total highscores of different boards (boards having different quantities and/or arrangements, at initial stages, of opponent pieces, player pieces, said wall(s) and/or said pillar(s)) and to display the totaled highscores (highscore amounts), with giving more bigger weights to upper-ranked highscores than the scores themselves.

Moreover, the present invention provides computer game programs which implement all or part of the rule of the reversi or transformed reversies, characterized in

-   that wall object(s) and/or pillar object(s) (hereinafter we call     them just wall(s) and/or pillar(s)) are arranged even at places     which are not end nor corner of game board, -   that there is rule that player can not acquire piece(s) in case of     sandwiching the piece(s) with wall(s) vertically or horizontally     and/or player can not acquire piece(s) in case of sandwiching the     piece(s) with pillar(s) diagonally, -   and that computer applies the above rule relating to wall(s) and/or     pillar(s) during game progress.

The inventions of claim 1 and claim 11 make it possible that (for each board) different strategy may be required for the above problem to be solved.

The inventions of claim 2 and claim 5 make choices of computer enough strong as choices of fighting opponent player, because computer preferably acquires places (claim 2) which are important thanks to the openness (without wall(s) and/or pillar(s)) and which it is difficult for to be acquired (with a neighboring wall or pillar in the corresponding exact opposite direction) and places (claim 5) which it is easy for to acquire such places (claim 2).

Moreover, the inventions of claim 3 and claim 6 make it possible to avoid user easily acquiring widely-one-direction-open-coordinate and/or widely-one-direction-open -coordinate-widely-holding-one-direction-open-coordinate, which makes game interesting.

Moreover, the inventions of claim 4 and claim 7 make it possible that computer prefer, during final stages of games, concrete and firm calculations by commonly-known min-max algorithm etc. (i.e. conclusion of game) to general (average) strategy (heuristics) like claims 2, 5, 3 and 6.

The invention of claim 8 make it possible that response time of computer think routine be faster, or response (choices of computer) be diversified or strengthened.

Moreover, in the game according to the present invention, the fact that there are many status of game for which reversi database of standard move by the book etc. can not be used makes chances and costs of search bigger, and such means that can reuse search results etc. become effective in particular.

Moreover, in case that wall(s) and/or pillar(s) make search space (game space) itself smaller, frequency of reappearance (rate of meeting past patterns) of pattern (piece arrangement pattern) becoming higher than that of reversi and thus enabling effective speed-up with small memory and overhead.

The invention of claim 9 make it possible to provide computer think routine which is enough fast and enough strong to fight with, for platforms which is not so fast at processing speed for example JAVA™ platform in a mobile phone etc:

Moreover, the invention of claim 10 make it possible that players enjoy game nature of the Warring States Period in which antagonism between players occurs. Namely, by surpassing other player's highscore as to a board, weights of highscores according to the ranking places as to the board change, and thus enabling to diminish other player's highscore amount, making structure of advantages and disadvantages like those in the Warring States Period.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates computer screen which displays highscore amount ranking with structure of advantages and disadvantages in the Warring States Period according to an embodiment of the present invention.

FIG. 2 illustrates computer screen on which walls and pillars are arranged and on which status (sea, lake, mountain, etc.) of each coordinate in relation to the walls and pillars are shown according to an embodiment of the present invention.

FIG. 3 illustrates computer screen on which walls and pillars are exemplarily arranged and game rule are shown according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is implemented as CGI program for playing with WEB system browser software wherein server computer plays the part of fighting opponent and applies said rule.

The algorithm of main part of server program is shown as two C language modules listed as appendix A1 ((1)biwako.c and (2)ws.c).

Moreover, parts of the two source codes is re-written for easy understanding etc. and is attached as appendix B2(JP-wakwayamal.c) and appendix B3(wseuc_num8an.c) wherein white is encoded as ‘W’ and black is encoded as ‘B’.

Appendix B1 is CGI program (written in Perl language) of “top page displaying board selection and highscore amount ranking” (correspond to screen of FIG. 1) wherein, in the mode of computer being opponent player, structure of advantages and disadvantages like those in the Warring States Period can be enjoyed.

With appendix B1, B2 and B3 and With knowledge of commonly-known min-max method (search algorithm) and commonly-known encryption etc., those of skill in the art can easily implement the present invention by compiling with gcc etc. on UNIX (registered trademark) compatible OS, putting it on CGI directory of apache (registered trademark) which is http(WEB) server software, giving it execute-permission, and the like.

To simply explain the relation between WEB system hardware and CGI programs according to the present invention (produced by compiling appendix A1 (or by compiling appendix B2 and B3 together) and by giving execute-permission to appendix B1), WEB system browser software (INTERNET EXPLORER (registered trademark) etc.) is configured to work on OS software for home PC (MICROSOFT WINDOWS (registered trademark) etc.) and requires, via the internet, server hardware (workstation etc.) to display game according to the present invention with TCP/IP communication function etc. which the OS software provides, by using upper protocol (http).

In the server hardware, server OS software (said UNIX(registered trademark) etc.) is working, and this server OS software controls co-operation between said http server program (apache etc.) and the CGI program according to the present invention (as to Appendix B1, Perl execution environment also is included to said server OS software) and return, also with http protocol, the content of standard output of CGI program (HTTP protocol part, HTML part, other pre-determined PC(client)-side WEB-system-browser-execution-script etc.) to home PC.

WEB system browser software interpreted returned HTML part and/or other above execution script etc. to arrange specified color, characters, graphics and controls at specified place for displaying, for the user, status of game (arrangement of wall(s) and/or pillar(s), landform, and white/black pieces etc.) and for providing interfaces (link for selecting next choice, input field for inputting name of highscorer, button for sending highscore, etc.) to direct game (for example, in FIG. 2 some links for selecting next choice of user (white) are displayed).

FIG. 1 illustrates example of “top page for selecting board and for displaying highscore amount ranking” according to an embodiment of the present invention.

By linked item on the top starting with “tottori1”, user can start game based on the motif of administrative division of tottori prefecture (in Japan).

Moreover, by selecting corresponding “two players” link, two users can play person to person based on the same motif (prefecture ).

User can, in the same way, select games based on other motif listed below.

In other embodiment, user can select among list of boards each of which is based on motif of not prefecture but commodity, animal, geometrical pattern, symbol, much abstracted market structure, etc.

The bottom part of FIG. 1 is highscore amount ranking in which 1st ranking place is yoshi's 7821390 point.

This is, as to this embodiment, just amount of highscores of respective games in each of which board is based on motif of administrative division as to each corresponding prefecture etc. in general, but highscore of 1st ranking place is multiplied by 10000 as corresponding weight, 2nd ranking place by 1000, 3rd ranking place by 100, 4th ranking place by 10, and respectively added as such to highscore “amount”, so that, if yoshi's highscore is surpassed by highscore of other (for example “KN”) at prefectures where yoshi is 1st ranking place (for example “chiba1”), highscore of “chiba” originally added to yoshi's amount after multiplication by 10000 become highscore of “chiba” added to yoshi's amount after multiplication by 1000, resulting smaller amount of yoshi's highscore and great advance of amount of the other's (KN's) highscore by stealing of “chiba1”.

FIG. 2 illustrates an example of screen for displaying game status and for manipulating game in the mode of computer being opponent player in the embodiment.

In the case of person to person fighting mode, ranking at the bottom is not shown.

In the ranking, highscorer with 4 top ranking places are given, as described above, more weighed highscores than original highscores (10000 multiplication etc.).

“JP” at upper part of FIG. 2 is link for returning to “top page for board selection and for displaying highscore amount ranking”, “UV” is link for moving to another “top page for board selection and for displaying highscore amount ranking” in which motifs as to other theme are gathered.

Below that is shown response time of system, board name, the number of current white/black pieces, the piece color of next turn, etc., and much below is shown current status of game.

Different from normal reversi, in this embodiment, arrangement of pieces in game status at initial stages has been determined much freely.

Moreover, some walls and pillars according to the present invention are arranged.

In this case, due to the above arrangement, coordinate(X:6,Y:5) which can be acquired in normal reversi becomes place that can not be acquired (place without blue circle).

It is because there is yellow wall between coordinate(X:6,Y:5) and coordinate(X:5,Y:5).

Thanks to this wall, black piece at coordinate(X:5,Y:5) is protected.

Moreover, dot at upper right of coordinate(X:6,Y:5) is a lake or pond in the real world acting as a pillar according to the present invention, dot at lower right means absence of big road across administrative division in the real world and acts as a pillar between walls (administrative division) for making complete barrier.

By reflecting reality like above, game becomes familiar.

Moreover, blue line under coordinate(X:1,Y:2) is a river in the real world acting as walls according to the present invention.

Moreover, large blue area at the bottom is sea which reflects real world by arranging blue walls on the boundary to the land, for the game being closer to the real world and for enhancement of user interest.

FIG. 3 is an example of how-to-play screen which explains the effects of walls (vertical/horizontal thin rectangle in the board) and pillars (small squire dot in the board) according to this embodiment.

On the left side are 8 articles of rule explanation in (Japanese/English), on the right side are shown an example of board with some walls and pillars and explanation of each object in the board.

In this board example, wall is arranged along to division line of administrative division, and, in case that big road across division line exists in the real world, no pillar is arranged between division lines (walls) for remaining of small mutual effect (i.e. only in diagonal direction) between areas divided, and in case that no big road exists, a pillar is arranged for no mutual effect between divided areas.

No doubt, use of natural law is made when above-mentioned PC and/or workstation as Neumann-type computer uses, during above send/receive action, the hardware of physical memory, CPU, bus, communication port and the like for execution of OS software, CGI program according to the present invention and other tool programs (said apache, Perl etc.).

In particular, array-type variables for keeping arrangement of said walls and pillars according to the present invention and stack-type variable for keeping context of computer think routine are memorized and referenced with fast physical memory (RAM, HardDisk) as memory means so that computer may rigidly keep along the special rule of the present invention (wall and/or pillar barrier against sandwiching effect), that computer keeps the consistency of arrangement in each board, that computer makes enough fast game progress (as to both the person-to-person (two players) mode and the mode of computer being opponent player) and that computer makes fast think process without redundancy nor oversight (as to the mode of computer being opponent player).

Hereinafter, correspondence between each function of the present invention and source code in Appendix B, or implementation of function itself will be explained.

Program code, which arranges walls (object with which pieces can not be acquired by sandwiching vertically or horizontally) and/or pillars (object with which pieces can not be acquired by sandwiching diagonally) at those places that are not end nor corner of the board, exists in Appendix B2 as “char board[21*21]=” and as shown after it.

For example, “+” means a pillar, “|” means a horizontal wall, “-” means a vertical wall, “C” means sea, lake or river acting as a wall or pillar, “G” means mountain or administrative division acting as a wall or pillar.

Program code, which apply said rule relating to wall and/or pillar during game progress by computer, exists as “pos_check” and the like in Appendix B3 from line 0212, wherein board objects (pieces) are scanned with taking care of existence of said “+” etc.

Program code, which computer preferably acquires, among coordinates, those coordinates that have much number of directions in each of which the coordinate neighbors a wall or a pillar and ,in each corresponding exact opposite direction, the coordinate is much far ahead open without walls and/or pillars (“widely-one-direction-open-coordinate(s)”), exists as “value_init” function in Appendix B3 from line 0088 and the like.

In this function weights(valxys) of widely-one-direction-open-coordinate(s) become larger than weights(valxy) of other coordinates, and in said “pos_check” and think routine of “recursive_all_pos_check” (from line 0979), computer selects choices by which amount of the weights become larger for this preference.

Program code, which computer avoid, if possible, acquiring coordinates neighboring (right next to) said widely-one-direction-open-coordinate(s), also exists as “value_init” function from line 0164 to 0186.

In this code, weights of coordinates neighboring widely-one-direction-open-coordinate(s) become minus weight and the like, and (in said recursive_all_pos_check function etc.) computer avoids choosing such coordinates during selection of choices by which amount of weights become larger.

For the purpose that computer preferably acquire said widely-one-direction-open-coordinate(s) only during early stages of games, it is enough, for example, to add, to the source code of value_init in Appendix B3, code which fixes all of weighed valxys to 1 in case of remained choice number being equal to or under pre-determined number (ex. 8), as conditional execution statement.

Due to this code, all coordinates have the same weight enabling min-max judgment accurately reflected on objective winning condition (side with much pieces wins).

Program code, which computer make weights(valxys) of widely-one-direction -open-coordinate-widely-holding-one-direction-open-coordinate(s) larger and preferably acquire such coordinate(s), exists from line 0136 to line 0156 at value_init in Appendix B3, as preliminary process, and at pos_check and recursive all_pos_check, as last process of preferable acquisition, in the same way as that of widely-one-direction-open-coordinate.

Moreover, for computer to avoid , if possible, acquiring coordinates neighboring said widely-one-direction-open-coordinate-widely-holding-one-direction-open-coordinate(s) is implemented in the same way as that of widely-one-direction-open-coordinate at line 0164 to line 0186 of value_init function (in many cases, widely-one-direction -open-coordinate-widely-holding-one-direction-open-coordinate is also widely-one-direction-open-coordinate).

Moreover, for computer to preferably acquire said widely-one-direction-open -coordinate-widely-holding-one-direction-open-coordinate only at the early stages of games is also implemented in the same way as that of said widely-one-direction-open-coordinate.

Said cache means for adopting choices which think routine of computer decided in the past for current game status or which player who played advantageously in the past adopted is implemented by recording, in the database not shown etc., all the motion of server program, for example by inserting, after line 1564 of Appendix B3, recording process into data structure (table) of the database which can associate keys of now_status, ‘black’, and MAX_LOOP with maxi and maxj and by rewriting line 1564 so as to execute recursive_all_pos_check for new maxi and maxj only when now_status, ‘black’ and MAX_LOOP are not recorded in the data structure(table) of the database.

Process that, in the mode of computer being opponent player, the quantity and/or the arrangement, at initial stages, of opponent pieces, player pieces, said wall(s) and/or said pillar(s) are adjusted so that the number of choice-orders corresponding to the demand of short think-time and/or the degree of previous reading (search level) become enough small compared to ability of CPU and/or memory may be manually made according to human experience etc., but it also is no doubt possible that computer program, whenever necessary, detects CPU performance etc. of the platform, compares the performance with predetermined measured value (for example smallness of number of walls and pillars) relating to bigness of game space as to designed board and piece arrangement at initial stage), and selects and provides appropriate board and piece arrangement at initial stage.

Said highscore total means, in the mode of computer being opponent player, to total highscores of different boards (boards having different quantities and/or arrangements, at initial stages, of opponent pieces, player pieces, said wall(s) and/or said pillar(s)) and to display the totaled highscores (highscore amounts), with giving more bigger weights to upper-ranked highscores than the scores themselves is implemented by co-operation between last half part of CGI program (Perl language) in Appendix B1 and from line 0835 to line 0885 of source code in Appendix B3.

In this description of detail, we explained about an example of computer game device according to the present invention implemented by client-server type communication between WEB system browser software and CGI program, however, scope of the invention is not limited to this example, but it is determined only by claims.

For example, with disclosure of the present invention, it is no doubt possible to implement as servelet program etc. in place of CGI program after porting to JAVA (registered trademark) language platform or other.

Moreover, within the scope of the present invention, it is possible to implement as standalone type, namely implement without communication with other server, by configuring the functions of CGI program for the server already shown as source code, to be included within the software of home PC, game machine, or mobile phone etc. (as native code of home PC, JAVA applet, other intermediate language and/or scripts).

Moreover, for example, wall and/or pillar can be displayed thickly and/or with large fonts, pillar can be displayed in more visible cross-form, and the like.

Moreover, for example, the present invention may be applied to games as transformation of reversi which enable coordinates in the board to neighbor each other like bricks of brick wall or like honeycomb, in this case, pillar defined as barrier against diagonal sandwiching effect can be displayed in plate form.

The present invention is widely available to game industry.

The present application claims priority to Japanese Patent Application No. 2005-303801, filed Oct. 19, 2005, the disclosure of which is incorporated herein by reference in its entirety.

It will be understood by those of skill in the art that numerous and various modifications can be made without departing from the spirit of the present invention. Therefore, it should be clearly understood that the forms of the present invention are illustrative only and are not intended to limit the scope of the present invention. 

1. A computer game device which implements all or part of rules of reversi or transformed reversi, comprising: that wall objects or pillar objects are arranged at places which are not ends nor corners of a game board; that there is a rule that a player can not acquire pieces in ease by sandwiching pieces with the walls vertically or horizontally and the player can not acquire pieces by sandwiching the pieces with the pillars diagonally, and a computer applies the rule relating to the walls or pillars during game progress.
 2. The computer game device according to claim 1, wherein the computer is configures to play the role of an opponent player, and the computer acquires, among coordinates, those coordinates that have much number of directions in each of which the coordinate neighbors a wall or a pillar and, in each corresponding exact opposite direction, the coordinate is much far ahead open without walls or pillars, hereinafter we call it widely-one-direction-open-coordinates.
 3. The computer game device according to claim 2, wherein the computer is configured to avoid, if possible, acquiring coordinates neighboring said widely-one-direction-open-coordinate(s).
 4. The computer game device according to claim 2, wherein the computer is configured to acquire said widely-one-direction -open-coordinates only during early stages of games.
 5. The computer game device according to claim 1, wherein the computer is configured to play the role of an opponent player, and the computer is configured to acquire, among coordinates, those coordinates that have much number of directions in each of which the coordinate neighbors a wall or a pillar and, in each corresponding exact opposite direction, the coordinate is much far ahead open toward much quantity of said widely-one-direction-open-coordinates without walls or pillars, hereinafter we call widely-one-direction-open-coordinate-widely-holding -one-direction-open-coordinates.
 6. The computer game device according to claim 5, wherein the computer is configured to avoid, if possible, acquiring coordinates neighboring said widely-one-direction-open-coordinate-widely-holding-one-direction -open-coordinates.
 7. The computer game device according to claim 5, wherein the computer is configured to acquire said widely-one-direction -open-coordinate-widely-holding-one-direction-open-coordinates only in early stages of games.
 8. The computer game device according to claim 1, wherein the computer is configured to play the role of an opponent player, the computer comprises cache means to adopt choices which think routine of computer decided in the past for current game status or which a player who played advantageously in the past adopted.
 9. The computer game device according to claim 1, wherein the computer is configured to play a role of an opponent player, a quantity and an arrangement, at initial stages, of opponent pieces, player pieces, said walls and said pillars are adjusted so that the number of choice-orders corresponding to the demand of short think-time or the degree of previous reading search level become enough small compared to ability of CPU and memory.
 10. The computer game device according to claim 1, wherein the computer is configured to play a role of an opponent player, and the computer comprises highscore total means to total highscores of different boards, wherein the different boards have different quantities and arrangements, at initial stages, of opponent pieces, player pieces, said wall(s) and said pillar(s)) and the computer is further configured to display the totaled highscores, with giving more bigger weights to upper-ranked highscores than the scores themselves.
 11. A computer game program which implements all or part of the rules of reversi or transformed reversi, comprising: that wall objects or pillar objects are arranged even at places which are not ends nor corners of a game board; that there is a rule that a player can not acquire pieces in case of sandwiching the pieces with walls vertically or horizontally and the player can not acquire pieces by sandwiching the pieces with pillars diagonally; and a computer applies the rule relating to the walls or the pillars during game progress. 